Rule-based cruise control system and method

ABSTRACT

A rule-based vehicle cruise-control system includes a computer in a vehicle, the computer including a processor and a memory, and the computer is configured to control a vehicle speed within a first speed threshold according to a set point inputted to the cruise control system. The computer is configured to determine a current grade value is within a first grade threshold and adjust the set point to control the vehicle speed within a second speed threshold outside the first speed threshold. The computer is further configured to determine the current grade value is within a second grade threshold and adjust the set point to recover the vehicle speed to within the first speed threshold.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent Appl. No.61/915,365, filed Dec. 12, 2013 entitled “Rule Based Smart CruiseControl”, the complete contents of which is hereby incorporated hereinby reference in its entirety. This application also claims priority toU.S. Provisional Patent Appl. No. 61/987,241, filed May 1, 2014 entitled“Systems and Methodologies for Smart Cruise Control”, the completecontents of which is also hereby incorporated herein by reference in itsentirety.

BACKGROUND

Energy efficiency is a design priority for many current mass marketpassenger vehicles. Energy efficiency can be addressed in many waysincluding, e.g., by minimizing the consumption of fuel and/or electricalenergy, dependent on the vehicle powertrain configuration, for certainvehicle operations. However, packaging and other design considerationsmay limit the availability to add components to a vehicle. Furthermore,typical mass-market passenger vehicles have one or more at leastpartially automatically or computer-controlled operational states, e.g.,cruise control. It is desirable, but currently difficult, to optimizeenergy consumption in an at least partially automatically orcomputer-controlled operational state of a vehicle, such as cruisecontrol, utilizing existing control systems.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an exemplary vehicle system according to theprinciples of the present disclosure.

FIG. 2 is a schematic chart of an exemplary cruise-control systemaccording to the principles of the present disclosure.

FIG. 3 is a flowchart of one exemplary process that may be implementedby an exemplary cruise-control system according to the principles of thepresent disclosure.

DETAILED DESCRIPTION

A cruise-control system according to the principles of the presentdisclosure may utilize an adaptive cruise controller for a passengervehicle to execute deviations from the driver-inputted cruise set pointwith the goal of minimizing fuel consumption over a given interval,according to, e.g., vehicle speed, road grade, and the driver-inputtedcruise set point. Such a cruise control system may include instantaneous(sensed or measured) and future (modeled or predicted) gradeinformation, and passenger comfort through a set of criteria, whichestablishes a rule base for when glide, hold and recover (acceleration)states are initiated and terminated. Furthermore, during the glidestate, the system may shift into neutral and/or fuel shutoff to maximizefuel economy gains during the deceleration phase. Accordingly, thissystem may achieve enhanced fuel economy performance goals during cruisecontrol operations using existing vehicle sensing and actuation.

For example, a cruise control system, method and/or a non-transitorycomputer-readable medium tangibly embodying computer-executableinstructions may control a vehicle speed within a first speed thresholdaccording to a set point inputted to a cruise control system, by eithera driver of the vehicle or a sensor, such as a forward-looking radar,and determine whether a current grade value is within a first gradethreshold. The set point may be adjusted to control the vehicle speedwithin a second speed threshold outside the first speed threshold. Thecurrent grade value may be determined to be within a second gradethreshold; and the set point may be adjusted to recover the vehiclespeed to within the first speed threshold. In some implementations, thecontrol by the system, method and/or instructions of the vehicle speedwithin the second speed threshold includes operating a glide state ofthe cruise control system as long as the vehicle speed is within a thirdspeed threshold, determining the current grade value is outside thesecond grade threshold, and maintaining the vehicle speed outside thefirst speed threshold. Furthermore, operating a glide state of thecruise control system may include shifting a vehicle transmission toneutral and/or initializing a deceleration fuel shutoff.

To achieve enhanced fuel economy performance, the first and second speedthresholds and the first and second grade thresholds may be determinedaccording to a fuel efficiency performance value, goal or design target.To utilize a baseline cruise controller in implementation of the system,method and/or instructions, a torque change signal may be inverted andcommunicated to the baseline cruise controller to adjust the set point.The system, method and/or instructions may further incorporate apredicted grade values and associated probabilistic grade thresholds.

FIG. 1 schematically illustrates an exemplary vehicle 100. The exemplarysystem may take many different forms and include multiple and/oralternate components and facilities. It is to be understood that theexemplary components illustrated are not intended to be limiting, andthat additional or alternative components and/or implementations may beused. For example, the vehicle 100 may be any passenger or commercialvehicle such as a car, a truck, sport-utility vehicle, a bus, train, aboat, or an airplane.

With further reference to FIG. 1, an exemplary vehicle 100 includes avehicle computing device or computer 105 that generally includes aprocessor and a memory, the memory including one or more forms ofcomputer-readable media, and storing instructions executable by theprocessor for performing various operations, including as disclosedherein. The computer 105 of the vehicle 100 receives information, e.g.,collected data, from one or more data collectors 110 related to variouscomponents or conditions of the vehicle 100, e.g., components such as anaccelerometer sensor system, a torque sensor system, a braking system, asteering system, a powertrain, etc., and/or conditions such as vehicle100 torque demand, speed, acceleration, pitch, yaw, roll, etc. Thecomputer 105 may include more than one computing device, e.g.,controllers or the like included in the vehicle 100 for monitoringand/or controlling various vehicle components, e.g., a controller module106, a cruise-control system or module 108, an engine control unit(ECU), transmission control unit (TCU), etc. The computer is generallyconfigured for communications on a controller area network (CAN) bus orthe like. The computer may also have a connection to an onboarddiagnostics connector (OBD-II). Via the CAN bus, OBD-II, and/or otherwired or wireless mechanisms, the computer may transmit messages tovarious devices in a vehicle and/or receive messages from the variousdevices, e.g., controllers, actuators, sensors, etc. Alternatively oradditionally, in cases where the computer actually comprises multipledevices, the CAN bus or the like may be used for communications betweenthe multiple devices that comprise the vehicle computer. In addition,the computer may be configured for communicating with a network, whichmay include various wired and/or wireless networking technologies, e.g.,cellular, Bluetooth, wired and/or wireless packet networks, etc.

Generally included in instructions stored in and executed by thecomputer 105 is a controller module 106. Using data received in thecomputer 105, e.g., from data collectors 110, data included as storedparameters 116, etc., the module 106 may control various vehicle 100systems or equipment. For example, the module 106 may be used toaccelerate, decelerate or maintain the velocity of vehicle 100, such asin conjunction with a torque demand from the cruise-control system 108of the vehicle 100.

Data collectors 110 may include a variety of devices. For example,various controllers in a vehicle may operate as data collectors 110 toprovide data 115 via the CAN bus, e.g., data 115 relating to torquedemand and/or output, vehicle speed, acceleration, road grade, etc.Further, sensors or the like, global positioning system (GPS) equipment,etc., could be included in a vehicle and configured as data collectors110 to provide data directly to the computer 105, e.g., via a wired orwireless connection. Sensor data collectors 110 could includecommunication devices to send and receive information from othervehicles, such as path intentions from vehicles surrounding vehicle 100.Sensor data collectors 110 could include mechanisms such as RADAR,LADAR, sonar, etc. sensors that could be deployed to measure a distancebetween the vehicle 100 and other vehicles or objects and/or theirspeeds. Yet other sensor data collectors 110 could include accelerometersensors. In addition, data collectors 110 may include sensors to detecta position, change in position, rate of change in position, etc., ofvehicle 100 components such as a steering wheel, brake pedal,accelerator, gearshift lever, etc.

A memory of the computer 105 generally stores collected data 115.Collected data 115 may include a variety of data collected in a vehicle100. Examples of collected data 115 are provided above, and moreover,data 115 is generally collected using one or more data collectors 110,and may additionally include data calculated therefrom in the computer105. In general, collected data 115 may include any data that may begathered by a collection device 110 and/or computed from such data.Accordingly, collected data 115 could include a variety of data relatedto vehicle 100 operations and/or performance, data received from anothervehicle, as well as data related to environmental conditions, roadconditions, etc. relating to the vehicle 100. For example, collecteddata 115 could include data concerning a vehicle 100 torque demand,measured or sensed torque, position, speed, acceleration, pitch, yaw,roll, braking, presence or absence of precipitation, tire pressure, tirecondition, etc.

A memory of the computer 105 may further store parameters 116. Aparameter 116 generally governs control of a system or component ofvehicle 100. These parameters may vary due to an environmentalcondition, road condition, vehicle 100 condition, an operating mode orstate of a system of the vehicle 100, or the like. For example, aparameter 116 may specify, for one or more operational states of thecruise-control system 108 and conditions of the vehicle 100, speed androad grade thresholds. Such parameters 116 may also be mapped or updatedby the computer 105.

With reference to FIG. 2, an exemplary cruise-control system 108according to the principles of the present disclosure includes abaseline controller 130 which communicates a torque demand,schematically illustrated at a block 132, to, e.g., the computer 105and/or the controller 106 of the vehicle 100. The cruise-control system108 further includes a rule-based controller 134, which determinestorque required to provide particularly desired performance, e.g.,operating according to certain data 115 and/or parameters 116 foroptimizing fuel economy. In one implementation, the rule-basedcontroller 134 may utilize, from the collected data 115, the followingdata respectively illustrated with blocks 140, 142, 144, 146:driver-inputted cruise set point, vehicle speed, road grade and torquedata.

It should be understood that the baseline controller 130 may be in theform of a typical cruise controller for current mass market passengervehicles, that adjusts torque demand based on the vehicle speed and thedriver's input. While incorporating the baseline controller 130, thecruise-control system 108 according to the principles of the presentdisclosure may provide a plurality of operating states, including anormal state in which a state controller 148 couples the rule-basedcontroller 134 to the baseline controller 130, and the rule-basedcontroller 134 communicates any change in the driver-inputted cruise setpoint 140 to a block 150. At the block 150, any deviation between thedriver-inputted cruise set point 140 and the vehicle speed 142 may bedetermined, and the baseline controller 130 may adjust torque demand 132accordingly.

According to the principles of the present disclosure, in otheroperating states for the cruise-control system 108, e.g., glide, hold,and recover states, the state controller 148 couples signal processingor controller components between the rule-based controller 134 to thebaseline controller 130, and the rule-based controller 134 communicatesa torque command signal to such components and, ultimately, to thebaseline controller 130. In one implementation, at a block 152, a torquechange for the vehicle 100 is determined based on a torque command fromthe rule based controller 134 and the torque data 144.

The torque change determined at the block 152 may be processed into atorque command through a proportional-integral (PI) controller 154. Inturn, the torque command may be further processed into a set pointchange signal through an inverted baseline controller 156. According tothe principles of the present disclosure, the inverted baselinecontroller 156 translates the torque command signal from the PIcontroller 154 to a calculated set point for the baseline controller130, based on the operating parameters of the baseline controller 130,to enable execution of the torque command determined by the rule-basedcontroller 134 by the baseline controller 130 in the same manner ofexecuting a change in set point by a driver of vehicle 100. Inparticular, at a block 158, a calculated change in the set point may bedetermined from the calculated set point and the vehicle speed 142. Thestate controller 148 provides the calculated change in the set point tothe block 150 in the same manner that a driver-inputted change in theset point is delivered during the normal state of the cruise-controlsystem 108. As such, the cruise-control system 108 may utilize thebaseline controller 130 to execute deviations from the driver-inputtedset point determined by the rule-based controller 134, those deviationsbased on, e.g., vehicle speed, road grade, and the driver-inputted setpoint to provide particular performance goals, e.g., minimizing fuelconsumption over a given interval.

In some implementations, the rule-based controller 134 may be coupled tothe controller 106 of the vehicle 100 in order to provide a neutralcommand—so that the vehicle 100 shifts to neutral, schematicallyrepresented at a block 160. For example, in the glide state, therule-based controller 134 may determine that the vehicle 100 may mostefficiently travel for the upcoming interval with the transmission inneutral, an operation outside of the capability of a typical baselinecruise-control module. Upon a determination of the cruise-control system108 that the glide state should transition to the hold or recover state,the torque command from the rule-based controller 134 would result inre-engagement of a gear of the vehicle 100.

It should be understood that the blocks 150, 152 and 158 may representindependent hardware of the cruise-control system 108 or may be includedin one of the other components of the cruise control system 108 or thevehicle 100, e.g., the baseline controller 130, the rule-basedcontroller 134, the state controller 148 and the inverted baselinecontroller 156.

In some implementations, the cruise-control system 108, or the computer105 or the controller 106, may include a road grade predictor module162. Exemplary grade prediction techniques that may be employed by theroad grade predictor module 162 to determine probabilistic gradeinformation over a horizon of the vehicle 100 include one or more ofMarkov modeling and model predictive methods, that is, dynamic modelsthat are updated recursively (RLS). Probabilistic grade information andthresholds for this information for, e.g., the normal, glide, hold andrecover states of the cruise-control system 108 may be stored amongparameters 116. In implementations without that grade predictioninformation, or where it is otherwise unavailable, the incorporation ofthis information may be disabled, e.g., by fixing all of theprobabilities to a certain value (such as 1 or 100%).

The cruise-control system 108 may also utilize a forward looking radarsignal amongst stored data 115, to modify the driver-inputted set point140 (or goal speed). That is, the vehicle 100 may sense another vehicleahead, and adjust the goal speed so as to maintain a safe followdistance.

To optimize cruise-control system 108 for, e.g., fuel economy, thecomputer 105, the controller 106 and/or the cruise-control system 108may determine thresholds for the vehicle speed, road grade and/orpredicted road grade, for each of the operating states of thecruise-control system 108, using one or more of genetic algorithms,sensitivity models (online updating), dynamic programming, stochasticdynamic programming, user experiences, a Markov decision processes, etc.In some implementations, the various optimization techniques can beperformed on simulated data, and validated in vehicle. The thresholdsfor the vehicle speed, road grade and/or predicted road grade for eachof the normal, glide, hold and recover states may be stored amongparameters 116, and may be dynamic or updated according to conditions ofvehicle 100, including vehicle speed, precipitation, ambient light, etc.

In general, computing systems and/or devices, such as the computer 105,the controller module 106, and/or components of the cruise-controlsystem 108 of the vehicle 100, may employ any of a number of computeroperating systems, including, but by no means limited to, versionsand/or varieties of the Ford SYNC® operating system, the MicrosoftWindows® operating system, the Unix operating system (e.g., the Solaris®operating system distributed by Oracle Corporation of Redwood Shores,Calif.), the AIX UNIX operating system distributed by InternationalBusiness Machines of Armonk, N.Y., the Linux operating system, the MacOS X and iOS operating systems distributed by Apple Inc. of Cupertino,Calif., and the Android operating system developed by the Open HandsetAlliance. Examples of computing devices include, without limitation, avehicle computer or control unit, a computer workstation, a server, adesktop, notebook, laptop, or handheld computer, or some other computingsystem and/or device.

Computing devices generally include computer-executable instructions,where the instructions may be executable by one or more computingdevices such as those listed above. Computer-executable instructions maybe compiled or interpreted from computer programs created using avariety of programming languages and/or technologies, including, withoutlimitation, and either alone or in combination, Java™, C, C++, VisualBasic, Java Script, Perl, etc. In general, a processor (e.g., amicroprocessor) receives instructions, e.g., from a memory, acomputer-readable medium, etc., and executes these instructions, therebyperforming one or more processes, including one or more of the processesdescribed herein. Such instructions and other data may be stored andtransmitted using a variety of computer-readable media.

A computer-readable medium (also referred to as a processor-readablemedium) includes any non-transitory (e.g., tangible) medium thatparticipates in providing data (e.g., instructions) that may be read bya computer (e.g., by a processor of a computer). Such a medium may takemany forms, including, but not limited to, non-volatile media andvolatile media. Non-volatile media may include, for example, optical ormagnetic disks and other persistent memory. Volatile media may include,for example, dynamic random access memory (DRAM), which typicallyconstitutes a main memory. Such instructions may be transmitted by oneor more transmission media, including coaxial cables, copper wire andfiber optics, including the wires that comprise a system bus coupled toa processor of a computer. Common forms of computer-readable mediainclude, for example, a floppy disk, a flexible disk, hard disk,magnetic tape, any other magnetic medium, a CD-ROM, DVD, any otheroptical medium, punch cards, paper tape, any other physical medium withpatterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any othermemory chip or cartridge, or any other medium from which a computer canread.

Databases, data repositories or other data stores described herein mayinclude various kinds of mechanisms for storing, accessing, andretrieving various kinds of data, including a hierarchical database, aset of files in a file system, an application database in a proprietaryformat, a relational database management system (RDBMS), etc. Each suchdata store is generally included within a computing device employing acomputer operating system such as one of those mentioned above, and areaccessed via a network in any one or more of a variety of manners. Afile system may be accessible from a computer operating system, and mayinclude files stored in various formats. An RDBMS generally employs theStructured Query Language (SQL) in addition to a language for creating,storing, editing, and executing stored procedures.

In some examples, system elements may be implemented ascomputer-readable instructions (e.g., software) on one or more computingdevices (e.g., servers, personal computers, etc.), stored on computerreadable media associated therewith (e.g., disks, memories, etc.). Acomputer program product may comprise such instructions stored oncomputer readable media for carrying out the functions described herein.

FIG. 3 is a flowchart of an exemplary process 300 that may beimplemented by the computer 105, controller module 106, and thecruise-control system 108 of the vehicle 100 to utilize thecruise-control system 108.

The process starts at a block 305, where a driver activates thecruise-control system 108 and inputs an initial set point. Referring toa block 310, the cruise-control system 108 operates in the normal stateto establish the speed of the vehicle 100 at the initial set point orwithin normal state speed thresholds stored among parameters 116relative to the driver-inputted set point. When the vehicle 100 reachesa sufficient speed per the driver-inputted set point and the normalstate speed thresholds, the process 300 continues to a block 315, wherethe process determines if the path of the vehicle is within normal stategrade thresholds stored among parameters 116. For example, where vehicle100 includes a road grade predictor module 162, the normal state gradethresholds may include both a threshold for the current measured gradeand a probabilistic threshold for the chance that the predicted grade inthe upcoming path is likely to also be within the grade threshold. Ifnot, the process 300 returns to the block 305, and the vehicle 100operates in the normal state of the cruise-control system 108, untilboth the speed is sufficient and the grade of the path is sufficient.

If the applicable normal state grade thresholds are satisfied at theblock 315, the process 300 continues to a block 320, where thecruise-control system 108 operates the vehicle 100 in the glide state.Referring to a block 325, as long as the vehicle 100 stays within glidestate speed thresholds stored among parameters 116, the cruise-controlsystem 108 remains in the glide state. In some implementations, theglide state speed thresholds will be generally be of a greater magnitudethan the normal state speed thresholds. For example, in the glide state,such as when the vehicle 100 is traveling downhill, no torque from theengine may be needed to maintain the vehicle 100 within the glide statespeed thresholds. Moreover, the thresholds may be set to be greater thanthose of the baseline controller 130 would typically apply. Therelatively higher tolerance for speed deviation allows the vehicle 100to maximize the fuel economy benefits of the glide state. In someimplementations, as noted above, the rule-based controller 134 maycommunicate directly with the controller 106 of the vehicle 100 to shiftthe vehicle 100 into neutral during the glide state.

Referring to a block 330, if the vehicle 100 in the glide state attainsa speed outside of the glide state speed thresholds, the process 300determines if the path of the vehicle 100 is within glide state gradethresholds stored among parameters 116. For example, where vehicle 100includes a road grade predictor module 162, the glide state gradethresholds may include both a threshold for the current measured gradeand a probabilistic threshold for the chance that the predicted grade inthe upcoming path is likely to also be within the grade threshold.

Referring to a block 335, where the path of the vehicle 100 is outsideof the glide state grade thresholds, e.g., the vehicle 100 is going up asufficiently steep hill according to the glide state grade thresholds,the cruise-control system 108 operates the vehicle 100 in the holdstate. To have entered the hold state, the vehicle 100 is outside of theglide state speed thresholds and, thus, in some implementations, outsideof the normal state speed thresholds. Instead of accelerating thevehicle 100 toward a speed closer to the driver-inputted set point, thecruise control system 108 maintains the speed of the vehicle 100 untilthe path may accommodate an efficient acceleration. That is, referringto a block 340, when the cruise-control system 108 is in the hold state,it remains in the hold state until the process 300 determines that pathof the vehicle 100 is within the hold state grade thresholds.

When the vehicle 100 detects that the upcoming path is within the holdstate grade thresholds, the process 300 continues to a block 345, andthe cruise-control system 108 operates the vehicle in the recover state.The process 300 next determines, at a block 350, if the vehicle 100 iswithin recover state speed thresholds—i.e., the vehicle 100 is “back upto speed” relative to the driver-inputted set point. If so, the process300 returns to the block 305, and the cruise-control system 108 returnsto the normal state of operation. If the vehicle 100 is not within therecover state speed thresholds at the block 350, the process 300 returnsto the block 340. If the path of the vehicle is determined to be withinrecover state grade thresholds, the cruise-control system 108 continuesto operate vehicle in the recover state. If not, the process 300 returnsto the block 335 and the cruise-control system 108 again operates thevehicle 100 in the hold state as described herein.

The recover state of the cruise control system 108 is the only statethat requires more torque than normal state/baseline controller 130.Therefore, the more efficient the recover state operates, the moreefficient the cruise control system 108. The most efficient torque torecovery speed is dependent on the road grade, and the relationship maybe experimentally mapped and/or modeled. In one implementation, anexperimental map of this relationship stored onboard the vehicle 100,e.g., among the parameters 116, and may be updated in real-time by,e.g., the computer 105. Using such a map, the optimal recovery torquemay be selected based on the detected/measured road grade during therecover state of operation of the cruise-control system 108.

In another implementation, recovery torque may be selected according toa model predictive controller while the cruise-control system 108operates in the recover state. Such a model predictive controller mayuse a vehicle model, e.g., an adaptive model, to determine the optimaltorque trajectory for best fuel economy. Where such a model predictivecontroller determines the minimum fuel torque trajectory subject toconstraints on minimum distance to a vehicle ahead, deviation from adriver-inputted set point, and maximum torque to prevent torqueconverter unlock (if vehicle 100 is so equipped).

In implementations in which the vehicle 100 includes a road gradepredictor module 162, the cruise-control system 108 according to theprinciples of the present disclosure maintains a normal state ofoperation if: (1) an instant road grade is greater than a maximum gradefor transition from the normal state, (2) the difference between thevehicle speed and a driver-inputted set point is greater than anacceptable deviation threshold, or (3) the probability that the meangrade over the horizon is less than or equal to the maximum forecastedaverage grade for transition from the normal state is less than thenormal state probability threshold for the maximum forecasted averagegrade, as determined by the road grade predictor module 162. Thecruise-control system 108 transitions from the normal state to a glidestate: (1) the instant road grade is less than or equal to the maximumgrade for transition from normal state, (2) the difference between thevehicle speed and the set point is less than or equal to an acceptabledeviation threshold, and (3) the probability that the mean grade overthe horizon is less than or equal to the maximum forecasted averagegrade for transition from normal state is greater than or equal to thenormal state probability threshold for maximum forecasted average grade.

The cruise-control system 108, once in the glide state of operation, maymaintain the glide state, or transition to the hold or recover state.The cruise-control system 108 maintains the glide state if thedifference between the vehicle speed and the driver-inputted set pointis less than the maximum deviation threshold. According to theprinciples of the present disclosure, maximizing time in the glide statefor a given glide state speed deviation threshold also maximizes fueleconomy. Therefore, in some instances, during the glide state, thetransmission can be shifted to neutral, and/or DFSO (deceleration fuelshutoff) may be initiated if the vehicle is so equipped. Shifting intoneutral minimizes drag due to the powertrain, prolonging the glidestate, while DFSO minimizes fuel consumption during this phase, as longas the interval provides sufficient time to make up for fuel expendedupon DFSO restart.

The cruise-control system 108 transitions from glide to hold if: (1) aninstant road grade is greater than the maximum grade for transition fromthe glide state, and (2) the difference between the vehicle speed andthe driver-inputted set point is greater than or equal to a maximumdeviation threshold. The cruise-control system 108 also transitions fromglide to hold if: (1) the difference between the vehicle speed and thedriver-inputted set point is greater than or equal to a maximumdeviation threshold, and (2) the probability that the mean grade overthe horizon is less than or equal to a maximum forecasted average gradefor transition from glide state is less than the glide state probabilitythreshold for a maximum forecasted average grade.

The cruise-control system 108 transitions from the glide state to therecover state if: (1) an instant road grade is less than or equal to amaximum glide grade, (2) the difference between a vehicle speed and thedriver-inputted set point is greater than or equal to a maximumdeviation threshold, and (3) the probability that the mean grade overthe horizon is less than or equal to the maximum forecasted averageglide grade is greater than or equal to the glide state probabilitythreshold for a maximum forecasted average grade.

When in the hold state of operation, the cruise-control system 108 maytransition to the recover state or be maintained. The cruise-controlsystem 108 transitions from the hold to the recover state if: (1) aninstant road grade is less than a maximum grade for transition from thehold state, and (2) the probability that the mean grade over the horizonis less than or equal to the maximum forecasted average grade fortransition from the hold state is greater than or equal to the holdstate probability threshold for maximum forecasted average grade.

The cruise-control system 108 maintains the hold state if: (1) aninstant road grade is greater than or equal to a maximum grade fortransition from the hold state, or (2) the probability that the meangrade over the horizon is less than or equal to a maximum forecastedaverage grade for transition from the hold state is less than the holdstate probability threshold for a maximum forecasted average grade.

When in the recover state of operation, the cruise-control system 108may maintain the recover state or may transition to the normal or holdstate. The cruise-control system 108 maintains the recover state if: (1)the difference between a vehicle speed and the driver-inputted set pointis greater than or equal to an acceptable deviation threshold, (2) aninstant road grade is less than a maximum grade for transition from therecover state, and (3) the probability that the mean grade over thehorizon is less than or equal to a maximum forecasted average grade fortransition from the recover state is greater than or equal to therecover state probability threshold for a maximum forecasted averagegrade. The cruise-control system 108 transitions from the recover stateto the hold state if: (1) the difference between the vehicle speed andthe set point is greater than or equal to the acceptable deviationthreshold, (2) the instant road grade is greater than or equal to themaximum grade for transition from recovery state, and (3) theprobability that the mean grade over the horizon is less than or equalto a maximum forecasted average grade for transition from the recoverstate is less than the recover state probability threshold for a maximumforecasted average grade.

The cruise control system 108 transitions from the recover state to thenormal state if the difference between the vehicle speed and the setpoint is less than the acceptable deviation threshold, i.e., the vehicle100 is “back up to speed.”

With regard to the processes, systems, methods, heuristics, etc.described herein, it should be understood that, although the steps ofsuch processes, etc. have been described as occurring according to acertain ordered sequence, such processes could be practiced with thedescribed steps performed in an order other than the order describedherein. It further should be understood that certain steps could beperformed simultaneously, that other steps could be added, or thatcertain steps described herein could be omitted. In other words, thedescriptions of processes herein are provided for the purpose ofillustrating certain embodiments, and should in no way be construed soas to limit the claims.

Accordingly, it is to be understood that the above description isintended to be illustrative and not restrictive. Many embodiments andapplications other than the examples provided would be apparent uponreading the above description. The scope should be determined, not withreference to the above description, but should instead be determinedwith reference to the appended claims, along with the full scope ofequivalents to which such claims are entitled. It is anticipated andintended that future developments will occur in the technologiesdiscussed herein, and that the disclosed systems and methods will beincorporated into such future embodiments. In sum, it should beunderstood that the application is capable of modification andvariation.

All terms used in the claims are intended to be given their broadestreasonable constructions and their ordinary meanings as understood bythose knowledgeable in the technologies described herein unless anexplicit indication to the contrary in made herein. In particular, useof the singular articles such as “a,” “the,” “said,” etc. should be readto recite one or more of the indicated elements unless a claim recitesan explicit limitation to the contrary.

The Abstract of the Disclosure is provided to allow the reader toquickly ascertain the nature of the technical disclosure. It issubmitted with the understanding that it will not be used to interpretor limit the scope or meaning of the claims. In addition, in theforegoing Detailed Description, it can be seen that various features aregrouped together in various embodiments for the purpose of streamliningthe disclosure. This method of disclosure is not to be interpreted asreflecting an intention that the claimed embodiments require morefeatures than are expressly recited in each claim. Rather, as thefollowing claims reflect, inventive subject matter lies in less than allfeatures of a single disclosed embodiment. Thus the following claims arehereby incorporated into the Detailed Description, with each claimstanding on its own as a separately claimed subject matter.

The invention claimed is:
 1. A system comprising a computer in avehicle, the computer comprising a processor and a memory, wherein thecomputer is configured to: control a vehicle speed within a first speedthreshold according to a set point inputted to a cruise control system;determine a current grade value is within a first grade threshold;adjust the set point to control the vehicle speed within a second speedthreshold outside the first speed threshold; determine the current gradevalue is within a second grade threshold; and adjust the set point torecover the vehicle speed to within the first speed threshold.
 2. Thesystem of claim 1, wherein adjusting the set point to control thevehicle speed within the second speed threshold includes: operating aglide state of the cruise control system as long as the vehicle speed iswithin a third speed threshold, including one of selectively shifting avehicle transmission to neutral and selectively initializing adeceleration fuel shutoff; determining the current grade value isoutside the second grade threshold; and maintaining the vehicle speedoutside the first speed threshold.
 3. The system of claim 1, wherein thecomputer is further configured to: modify the set point according to aforward vehicle detection signal.
 4. The system of claim 1, wherein thecomputer is further configured to: determine at least the first andsecond speed thresholds and the first and second grade thresholdsaccording to a fuel efficiency performance value.
 5. The system of claim1, wherein the computer is further configured to: invert a torque changesignal to adjust the set point.
 6. The system of claim 1, wherein thefirst grade threshold is a first probabilistic grade threshold.
 7. Thesystem of claim 1, wherein the computer is further configured to:determine a recovery torque according to the current road grade and afuel efficiency performance value; and adjust the set point to recoverthe vehicle speed to within the first speed threshold according to therecovery torque.
 8. A method comprising: controlling a vehicle speedwithin a first speed threshold according to a set point inputted to acruise control system by one of a driver and a forward vehicle sensor;determining a current grade value is within a first grade threshold;adjusting the set point to control the vehicle speed within a secondspeed threshold outside the first speed threshold; determining thecurrent grade value is within a second grade threshold; and adjustingthe set point to recover the vehicle speed to within the first speedthreshold.
 9. The method of claim 8, wherein adjusting the set point tocontrol the vehicle speed within the second speed threshold includes:operating a glide state of the cruise control system as long as thevehicle speed is within a third speed threshold; determining the currentgrade value is outside the second grade threshold; and maintaining thevehicle speed outside the first speed threshold.
 10. The method of claim9, wherein operating a glide state of the cruise control system includesone of shifting a vehicle transmission to neutral and deceleration fuelshutoff.
 11. The method of claim 8, further comprising: determining atleast the first and second speed thresholds and the first and secondgrade thresholds according to a fuel efficiency performance value. 12.The method of claim 8, further comprising: inverting a torque changesignal to adjust the set point.
 13. The method of claim 8, wherein thefirst grade threshold is a first probabilistic grade threshold.
 14. Themethod of claim 8, further comprising: determining a recovery torqueaccording to the current road grade and a fuel efficiency performancevalue; and adjusting the set point to recover the vehicle speed towithin the first speed threshold according to the recovery torque.
 15. Anon-transitory computer-readable medium tangibly embodyingcomputer-executable instructions that cause a processor to executeoperations comprising: controlling a vehicle speed within a first speedthreshold according to a set point inputted to a cruise control system;determining a current grade value is within a first grade threshold;operating a glide state of the cruise control system as long as thevehicle speed is within a second speed threshold; determining thecurrent grade value is outside a second grade threshold; and maintainingthe vehicle speed outside the first speed threshold; adjusting the setpoint to control the vehicle speed within a third speed thresholdoutside the first speed threshold; determining the current grade valueis within the second grade threshold; and adjusting the set point torecover the vehicle speed to within the first speed threshold.
 16. Thenon-transitory computer-readable medium of claim 15, embodyinginstructions causing the processor to execute operations furthercomprising: modifying the set point according to a forward vehicledetection signal.
 17. The non-transitory computer-readable medium ofclaim 15 embodying instructions causing the processor to executeoperations further comprising: determining at least the first and secondspeed thresholds and the first and second grade thresholds according toa fuel efficiency performance value, and wherein operating a glide stateof the cruise control system includes one of selectively shifting avehicle transmission to neutral and selectively initializing adeceleration fuel shutoff.
 18. The non-transitory computer-readablemedium of claim 15 embodying instructions causing the processor toexecute operations further comprising: inverting a torque change signalto adjust the set point.
 19. The non-transitory computer-readable mediumof claim 15 wherein the first grade threshold is a first probabilisticgrade threshold.
 20. The non-transitory computer-readable medium ofclaim 15 embodying instructions causing the processor to executeoperations further comprising: determining a recovery torque accordingto the current road grade and a fuel efficiency performance value; andadjusting the set point to recover the vehicle speed to within the firstspeed threshold according to the recovery torque.